#ifndef FILEMOVER_H
#define FILEMOVER_H

#include <iostream>
#include <string>
#include <vector>
#include <filesystem>
#include <ctime>

class FileMover
{
public:
    FileMover(std::string sourceDir, std::string targetDir) noexcept;
    ~FileMover() noexcept;

    static bool IsExist(const std::string &path) noexcept;
    static bool CreateDir(const std::string &dir);
    static time_t GetFileFixedTime(const std::string &path);

    std::string &sourceDir();
    const std::string &sourceDir() const;
    std::string &targetDir();
    const std::string &targetDir() const;

    bool move();

private:
    std::string _sourceDir;
    std::string _targetDir;
    std::vector<std::string> _timeSortedfileNames;
};

#endif // FILEMOVER_H